En la presente tarea se abarcan temas en relación a cuatro tipos de primates que se encuentran en Costa Rica, asà que en la primer parte se observará una tabla con datos de los primates, en la segunda parte se apreciará porcentajes de cómo se distribuye la cantidad de los primates y en la tercer parte se visualizará un mapa en relación a los datos.
#Preparativos para el desarrollo de la tarea
# carga paquetes
library(dplyr)
library(sf)
library(DT)
library(leaflet)
library(plotly)
library(raster)
library(spData)
# Carga de datos
Primates <-
st_read("https://raw.githubusercontent.com/gf0604-procesamientodatosgeograficos/2021i-datos/main/gbif/primates-cr-registros.csv",
options = c(
"X_POSSIBLE_NAMES=decimalLongitude",
"Y_POSSIBLE_NAMES=decimalLatitude"
),
quiet = TRUE
)
# Carga de la capa de cantones y provincias
cantones <-
st_read(
"https://raw.githubusercontent.com/gf0604-procesamientodatosgeograficos/2021i-datos/main/ign/delimitacion-territorial-administrativa/cr_cantones_simp_wgs84.geojson",
quiet = TRUE
)
provincias <-
st_read(
"https://raw.githubusercontent.com/gf0604-procesamientodatosgeograficos/2021i-datos/main/ign/delimitacion-territorial-administrativa/cr_provincias_simp_wgs84.geojson",
quiet = TRUE
)
# Asignación de CRS
st_crs(Primates) = 4326
st_crs(cantones) = 4326
#Elementos de las especies en base al cantón y provincia
Primates <-
Primates %>%
st_join(cantones["canton"])
Primates <-
Primates %>%
st_join(provincias["provincia"])
# Datos frame para cada especie de primate
Mono_ardilla <- Primates %>%
dplyr::select(species, canton, provincia, eventDate, decimalLongitude, decimalLatitude) %>%
filter(Primates$species == "Saimiri oerstedii")
Mono_congo <- Primates %>%
dplyr::select(species, canton, provincia, eventDate, decimalLongitude, decimalLatitude) %>%
filter(Primates$species == "Alouatta palliata")
Mono_cariblanca <- Primates %>%
dplyr::select(species, canton, provincia, eventDate, decimalLongitude, decimalLatitude) %>%
filter(Primates$species == "Cebus capucinus")
Mono_araña <- Primates %>%
dplyr::select(species, canton, provincia, eventDate, decimalLongitude, decimalLatitude) %>%
filter(Primates$species == "Ateles geoffroyi")
# Obtención de la capa de altitud
alti <- getData(
"worldclim",
var = "alt",
res = .5,
lon = -84,
lat = 10
)
altitud <-
alti %>%
crop(provincias) %>%
mask(provincias)
Se visuliza datos de las cuatro diefrentes especies de primates, datos como la familia, localización y fechas.
Primates %>%
st_drop_geometry() %>%
dplyr::select(family, species, stateProvince, canton, eventDate) %>%
datatable(
colnames = c("Familia", "Especie", "Provincia", "Canton", "Fecha"),
options = list(
searchHighlight = TRUE,
language = list(url = '//cdn.datatables.net/plug-ins/1.10.11/i18n/Spanish.json')
)
)
Se observa la disribución en porcentaje de las cuatro especies.
num_especies <- c(1994, 453, 599, 1463)
nomb_especies <- c("Alouatta palliata", "Saimiri oertedii", "Ateles geoffroyi", "Cebus capucinus")
colors <- c('9999CC', 'CC9999', '99CCCC', '99CC99')
fuente <- list(family = "Courier New",
size = 11,
color = '000000')
df_Primates <- data.frame(
"nomb_especies" = c("Mono Araña", "Mono Cariblanca", "Mono Congo", "Mono Ardilla"),
"num_especies" = c(599, 1463, 1994, 453),
colors <- c('9999CC', 'CC9999', '99CCCC', '99CC99')
)
Primates %>%
plot_ly(
labels = ~ nomb_especies,
values = ~ num_especies,
type = "pie",
marker = list(colors = colors,
line =list(color = '000000', width = 0))) %>%
config(locale = "es") %>%
layout(
title = "Porcentaje de los primates en el paÃs",
font = fuente,
xaxis = list(
showgrid = FALSE,
zeroline = FALSE,
showticklabels = FALSE
),
yaxis = list(
showgrid = FALSE,
zeroline = FALSE,
showticklabels = FALSE
)
)
## Warning: 'pie' objects don't have these attributes: 'x', 'y', 'mode'
## Valid attributes include:
## 'type', 'visible', 'showlegend', 'legendgroup', 'opacity', 'name', 'uid', 'ids', 'customdata', 'meta', 'hoverlabel', 'stream', 'transforms', 'uirevision', 'labels', 'label0', 'dlabel', 'values', 'marker', 'text', 'hovertext', 'scalegroup', 'textinfo', 'hoverinfo', 'hovertemplate', 'texttemplate', 'textposition', 'textfont', 'insidetextorientation', 'insidetextfont', 'outsidetextfont', 'automargin', 'title', 'domain', 'hole', 'sort', 'direction', 'rotation', 'pull', '_deprecated', 'idssrc', 'customdatasrc', 'metasrc', 'labelssrc', 'valuessrc', 'textsrc', 'hovertextsrc', 'hoverinfosrc', 'hovertemplatesrc', 'texttemplatesrc', 'textpositionsrc', 'pullsrc', 'key', 'set', 'frame', 'transforms', '_isNestedKey', '_isSimpleKey', '_isGraticule', '_bbox'
# Popups
pMono_araña <- paste0("<b>", "Especie: ","</b>",
(Mono_araña$species), "<br>",
"<b>", "Provincia: ","</b>",
(Mono_araña$provincia), "<br>",
"<b>", "canton: ", "</b>",
(Mono_araña$canton), "<br>",
"<b>", "Fecha: ","</b>",
(Mono_araña$eventDate), "<br>",
"<b>", "Coordenadas: ","</b>",
(Mono_araña$decimalLongitude),
(Mono_araña$decimalLatitude)
)
pMono_ardilla <- paste0("<b>", "Especie: ","</b>",
(Mono_ardilla$species), "<br>",
"<b>", "Provincia: ","</b>",
(Mono_ardilla$provincia), "<br>",
"<b>", "canton: ", "</b>",
(Mono_ardilla$canton), "<br>",
"<b>", "Fecha: ","</b>",
(Mono_ardilla$eventDate), "<br>",
"<b>", "Coordenadas: ","</b>",
(Mono_ardilla$decimalLongitude),
(Mono_ardilla$decimalLatitude)
)
pMono_congo <- paste0("<b>", "Especie: ","</b>",
(Mono_congo$species), "<br>",
"<b>", "Provincia: ","</b>",
(Mono_congo$provincia), "<br>",
"<b>", "canton: ", "</b>",
(Mono_congo$canton), "<br>",
"<b>", "Fecha: ","</b>",
(Mono_congo$eventDate), "<br>",
"<b>", "Coordenadas: ","</b>",
(Mono_congo$decimalLongitude),
(Mono_congo$decimalLatitude)
)
pMono_cariblanca <- paste0("<b>", "Especie: ","</b>",
(Mono_cariblanca$species), "<br>",
"<b>", "Provincia: ","</b>",
(Mono_cariblanca$provincia), "<br>",
"<b>", "canton: ", "</b>",
(Mono_cariblanca$canton), "<br>",
"<b>", "Fecha: ","</b>",
(Mono_congo$eventDate), "<br>",
"<b>", "Coordenadas: ","</b>",
(Mono_cariblanca$decimalLongitude),
(Mono_cariblanca$decimalLatitude)
)
# Determinación de los colores del mapa raster
rastercol <- colorNumeric(
c("#996666", "#FFCC99", "#999966"),
values(altitud),
na.color = "transparent")
# Mapa de las especies de primates
Primates %>%
leaflet() %>%
addProviderTiles(providers$OpenStreetMap.Mapnik, group = "OpenStreetMap") %>%
addProviderTiles(providers$Stamen.TonerLite, group = "Stamen Toner Lite") %>%
addProviderTiles(providers$Esri.WorldImagery, group = "Imágenes de ESRI") %>%
addRasterImage(
altitud,
colors = rastercol,
opacity = 0.8,
group = "Altitud"
) %>%
addCircleMarkers(
data = Mono_araña,
stroke = F,
radius = 2,
fillColor = '#CC99CC',
fillOpacity = 1,
popup = "pMono_araña",
group = "Ateles geoffroyi"
) %>%
addCircleMarkers(
data = Mono_ardilla,
stroke = F,
radius = 2,
fillColor = '#999999',
fillOpacity = 1,
popup = "pMono_ardilla",
group = "Saimiri oerstedii"
) %>%
addCircleMarkers(
data = Mono_congo,
stroke = F,
radius = 2,
fillColor = '#666633',
fillOpacity = 1,
popup = "pMono_congo",
group = "Alouatta palliata"
) %>%
addCircleMarkers(
data = Mono_cariblanca,
stroke = F,
radius = 2,
fillColor = '#CC9933',
fillOpacity = 1,
popup = "pMono_cariblanca",
group = "Cebus capucinus"
) %>%
addLayersControl(
baseGroups = c("OpenStreetMap", "Stamen Toner Lite", "Imágenes de ESRI"),
overlayGroups = c("Ateles geoffroyi","Cebus capucinus","Alouatta palliata","Saimiri oerstedii", "altitud")
) %>%
addMiniMap(
tiles = providers$Stamen.OpenStreetMap.Mapnik,
position = "bottomleft",
toggleDisplay = TRUE
)
## Warning in showSRID(uprojargs, format = "PROJ", multiline = "NO", prefer_proj =
## prefer_proj): Discarded ellps WGS 84 in Proj4 definition: +proj=merc +a=6378137
## +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null
## +wktext +no_defs +type=crs
## Warning in showSRID(uprojargs, format = "PROJ", multiline = "NO", prefer_proj =
## prefer_proj): Discarded datum World Geodetic System 1984 in Proj4 definition
## Warning in showSRID(uprojargs, format = "PROJ", multiline = "NO", prefer_proj =
## prefer_proj): Discarded ellps WGS 84 in Proj4 definition: +proj=merc +a=6378137
## +b=6378137 +lat_ts=0 +lon_0=0 +x_0=0 +y_0=0 +k=1 +units=m +nadgrids=@null
## +wktext +no_defs +type=crs
## Warning in showSRID(uprojargs, format = "PROJ", multiline = "NO", prefer_proj =
## prefer_proj): Discarded datum World Geodetic System 1984 in Proj4 definition